import request from '@/utils/request'

// 查询过程检验单列表
export function listIpqc(query) {
  return request({
    url: '/ldzl-qc/ipqc/list',
    method: 'get',
    params: query
  })
}

// 查询过程检验单详细(根据ID)
export function getIpqc(ipqcId) {
  return request({
    url: '/ldzl-qc/ipqc/' + ipqcId,
    method: 'get'
  })
}



// 新增过程检验单
export function addIpqc(data) {
  return request({
    url: '/ldzl-qc/ipqc/addIpqc',
    method: 'post',
    data: data
  })
}

// 修改过程检验单
export function updateIpqc(data) {
  return request({
    url: '/ldzl-qc/ipqc',
    method: 'put',
    data: data
  })
}

// 删除过程检验单
export function delIpqc(ipqcId) {
  return request({
    url: '/ldzl-qc/ipqc/' + ipqcId,
    method: 'delete'
  })
}

// 获取过程检验单关联检测项列表
export function getQcIpqcLineList(ipqcId, query) {
  return request({
    url: '/ldzl-qc/ipqc/selectQcIpqcLineList/' + ipqcId,
    method: 'get',
    params: query
  })
}

// 新增过程检验单关联检测项
export function addQcIpqcLine(data) {
  return request({
    url: '/ldzl-qc/ipqc/insertQcIpqcLine',
    method: 'post',
    data: data
  })
}

// 修改过程检验单关联检测项
export function updateQcIpqcLine(data) {
  return request({
    url: '/ldzl-qc/ipqc/updateQcIpqcLine',
    method: 'put',
    data: data
  })
}

// 删除过程检验单关联检测项
export function delQcIpqcLine(lineIds) {
  return request({
    url: '/ldzl-qc/ipqc/deleteQcIpqcLine/' + lineIds,
    method: 'delete'
  })
}

// 获取检测方案列表
export function listQcTemplates(query) {
  return request({
    url: '/ldzl-qc/template/list',
    method: 'get',
    params: query
  })
}

// 获取检测方案关联的检测项列表
export function getQcTemplateItems(templateId, query) {
  return request({
    url: '/ldzl-qc/template/selectQcTemplateLineList/' + templateId,
    method: 'get',
    params: query
  })
}

// 获取检测方案关联的检测项列表（用于详情页）
export function getQcTemplateIndexList(templateId) {
  return request({
    url: '/ldzl-qc/template/selectQcTemplateLineList/' + templateId,
    method: 'get'
  })
}

// 获取来源单据列表
export function getTaskListForQc(data = {}) {
  console.log('调用API - getTaskListForQc，参数:', data);
  
  // 创建完整的请求配置
  const config = {
    url: '/ldzl-qc/ipqc/qc-query/all-tasks',
    method: 'get',
    headers: {
      'from-source': 'inner'
    },
    params: data
  };
  
  // 直接设置请求头，确保大小写完全匹配
  config.headers = Object.assign({}, config.headers, {
    'from-source': 'inner'
  });
  
  console.log('发送请求配置:', config);
  return request(config);
}

// 根据任务ID获取产品信息
export function selectQcIpqcProductInfo(workOrderTaskId) {
  console.log('调用API - selectQcIpqcProductInfo，任务ID:', workOrderTaskId, '类型:', typeof workOrderTaskId);
  
  // 确保workOrderTaskId是有效值
  if (!workOrderTaskId && workOrderTaskId !== 0) {
    console.error('无效的workOrderTaskId:', workOrderTaskId);
    return Promise.reject(new Error('无效的任务ID'));
  }
  
  // 转换为数字类型，确保API调用正确
  const taskId = Number(workOrderTaskId);
  if (isNaN(taskId)) {
    console.error('workOrderTaskId无法转换为数字:', workOrderTaskId);
    return Promise.reject(new Error('任务ID格式错误'));
  }
  
  // 创建完整的请求配置
  const config = {
    url: `/ldzl-qc/ipqc/selectQcIpqcProductInfo?work_order_task_id=${taskId}`,
    method: 'get'
    
  };
  
  
  
  console.log('发送API请求配置:', config);
  
  return request(config).then(response => {
    console.log('API响应 - selectQcIpqcProductInfo:', response);
    return response;
  }).catch(error => {
    console.error('API错误 - selectQcIpqcProductInfo:', error);
    throw error;
  });
}
